Data storage systems are arrangements of hardware and software that include storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, deleted, and so forth. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Some data storage systems use a journaled mirrored cache that allows write commands to be acknowledged to the issuing host as soon as the command can be stored within cache and mirrored. This results in increased performance by reducing latency to hosts for write while maintaining the security of mirror-based persistence.